#include<jni.h>
#include<com_szosen_util_CheckTool.h>
#include<stdio.h>
#include<string.h>
#include<math.h>
#include<stdlib.h>
#include<android/log.h>
#define LOG    "ffmpegDemo-jni"
#define LOGD(...)  __android_log_print(ANDROID_LOG_DEBUG,LOG,__VA_ARGS__)
#define LOGI(...)  __android_log_print(ANDROID_LOG_INFO,LOG,__VA_ARGS__)
#define LOGW(...)  __android_log_print(ANDROID_LOG_WARN,LOG,__VA_ARGS__)
#define LOGE(...)  __android_log_print(ANDROID_LOG_ERROR,LOG,__VA_ARGS__)
#define LOGF(...)  __android_log_print(ANDROID_LOG_FATAL,LOG,__VA_ARGS__)
JNIEXPORT jint JNICALL Java_com_szosen_util_CheckTool_checkid(JNIEnv *env,
		jclass obj, char *num, char *mac, char *pas) {
	jstring j_str;
	char *c_str = NULL;
	c_str = (*env)->GetStringUTFChars(env, j_str, &isCopy);
//	printf("%s,%s,%s", num, mac, pas);
	LOGD("%x,%x,%x", num[0], mac[0], pas[0]);
//	LOGD(LOG, mac*);
	return 77;
	/*
	 jint ret = 0;
	 jint secnum1 = 0;
	 jint secnum2 = 0;
	 jchar secbuf1[60] ;
	 jchar secbuf2[60];// = new jchar[60];
	 jbyte secout[60] ;//= new jbyte[50];
	 jlong temsum1 = 1L;
	 jlong temsum2 = 1L;
	 jlong temsum3 = 1L;
	 jlong temsum4 = 1L;
	 jlong temsum5 = 1L;
	 jlong temsum6 = 1L;
	 jlong temsum7 = 1L;
	 jlong temsum8 = 1L;
	 jlong temsum9 = 1L;
	 jlong temsum10 = 1L;
	 jlong temsum11 = 1L;
	 jlong temsum12 = 1L;
	 jlong temsum13 = 1L;
	 jlong temsum14 = 1L;
	 jlong temsum15 = 1L;
	 jlong temsum16 = 1L;
	 if (num.length() < 5 || mac.length() < 5 || pas.length() < 5)
	 return ret;
	 ret++;
	 if (num.length() > 50 || mac.length() > 50 || pas.length() > 50)
	 return ret;
	 ret++;
	 jint count = 0;
	 for (jint i = 0; i < num.length() - 1; i++) {
	 jchar temdat1 = num.charAt(i);
	 jchar temdat2 = num.charAt(i + 1);
	 if (temdat1 == temdat2)
	 count++;
	 }

	 if (count > 5)
	 return ret;
	 ret++;
	 count = 0;
	 for (jint i = 0; i < mac.length() - 1; i++) {
	 jchar temdat1 = mac.charAt(i);
	 jchar temdat2 = mac.charAt(i + 1);
	 if (temdat1 == temdat2)
	 count++;
	 }

	 if (count > 5)
	 return ret;
	 ret++;
	 for (jint i = 0; i < num.length(); i++)
	 secbuf1[i] = num.charAt(i);

	 for (jint i = 0; i < mac.length(); i++)
	 secbuf2[i] = mac.charAt(i);

	 secnum1 = num.length() - 1;
	 secnum2 = mac.length() - 1;
	 for (jint i = 0; i < num.length(); i++) {
	 temsum1 = temsum1 * (jlong) secbuf1[i] + (jlong) secbuf1[i];
	 temsum2 += secbuf1[i];
	 temsum3 |= (jlong) secbuf1[i] + temsum2;
	 temsum4 += temsum2 & (jlong) secbuf1[i];
	 temsum5 += temsum2 | (jlong) secbuf1[i];
	 temsum6 += temsum2 * (jlong) secbuf1[i];
	 temsum7 += temsum2 | (jlong) secbuf1[i] & temsum3;
	 temsum8 += temsum2 | (jlong) secbuf1[i] | temsum3 + temsum3;
	 }

	 for (jint i = 0; i < mac.length(); i++) {
	 temsum9 = temsum9 * (jlong) secbuf2[i] + (jlong) secbuf2[i];
	 temsum10 += secbuf2[i];
	 temsum11 |= (jlong) secbuf2[i] + temsum10;
	 temsum12 += temsum10 & (jlong) secbuf2[i];
	 temsum13 += temsum10 | (jlong) secbuf2[i];
	 temsum14 += temsum10 * (jlong) secbuf2[i];
	 temsum15 += temsum10 | (jlong) secbuf2[i] & temsum11;
	 temsum16 += temsum10 | (jlong) secbuf2[i] | temsum11 + temsum11;
	 }

	 secout[0] = (jbyte) (jint) (Math.abs(
	 temsum1 + temsum2 + temsum3 + temsum4 + temsum5 + temsum6 + temsum7
	 + temsum8 + temsum9 + temsum10 + temsum11 + temsum12
	 + temsum13 + temsum14 + temsum15 + temsum16 + 16L) % 26L
	 + 97L);
	 secout[1] = (jbyte) (jint) (Math.abs(
	 temsum1 * temsum2 + temsum3 * temsum4 + temsum5 * temsum6
	 + temsum7 * temsum8 + temsum9 + temsum10 * temsum11
	 + temsum12 * temsum13 + temsum14 * temsum15
	 + temsum16 * 16L) % 26L + 97L);
	 secout[2] = (jbyte) (jint) (Math.abs(
	 temsum1 | temsum2 + temsum3 | temsum4 | temsum5 + temsum6
	 | temsum7 + temsum8 + temsum9
	 | temsum10 + temsum11 & temsum12 + temsum13
	 | temsum14 * temsum15 + temsum16 + 56L) % 26L + 97L);
	 secout[3] = (jbyte) (jint) (Math.abs(
	 temsum1 * temsum15 + temsum13 + temsum13 * temsum5 + temsum6
	 + temsum7 + temsum8 + temsum1 | temsum10 + temsum1
	 | temsum12 + temsum1 * temsum14 + temsum1
	 | temsum16 + 8554L) % 26L + 97L);
	 secout[4] = (jbyte) (jint) (Math.abs(
	 temsum1 * temsum9 * temsum10 + temsum10 + temsum8 + temsum8
	 + temsum8 + temsum8 + temsum9 + temsum10 * temsum11
	 | temsum12 + temsum13
	 | temsum14 + temsum15 + temsum16 + 8566L) % 26L + 97L);
	 secout[5] = (jbyte) (jint) (Math.abs(
	 temsum1 ^ temsum2 + temsum3 ^ temsum4 + temsum5
	 ^ temsum6 + temsum7 + temsum8 + temsum9 + temsum10
	 ^ temsum11 + temsum12 ^ temsum13 + temsum14
	 ^ temsum15 + temsum16 + 234544L) % 26L + 97L);
	 secout[6] = (jbyte) (jint) (Math.abs(
	 temsum1 ^ temsum10 + temsum3 ^ temsum11 + temsum5 + temsum6
	 ^ temsum15 + temsum8 + temsum9
	 ^ temsum14 + temsum11 + temsum12 + temsum14 + temsum15
	 + temsum15 + temsum16 + 8888L) % 26L + 97L);
	 secout[7] = (jbyte) (jint) (Math.abs(
	 temsum1 % temsum2 + temsum3 + temsum4 % temsum5 + temsum6 % temsum7
	 + temsum8 + temsum9 * temsum10 * temsum11 + temsum12
	 + temsum1 + temsum1 + temsum1 + temsum16 + 445557784L) % 26L
	 + 97L);
	 secout[8] = (jbyte) (jint) (Math.abs(
	 temsum1 + temsum2 + temsum3 + temsum4 + temsum8 + temsum9 + temsum10
	 + temsum11 + temsum12 + temsum13 + temsum16 + 2323234L)
	 % 26L + 97L);
	 secout[9] = (jbyte) (jint) (Math.abs(
	 temsum1 + temsum4 + temsum5 + temsum6 + temsum7 + temsum8
	 + temsum9 * temsum10 + temsum11 + temsum14 + temsum15
	 + temsum16 + 4455744L) % 26L + 97L);
	 secout[10] = (jbyte) (jint) (Math.abs(
	 temsum1
	 | temsum2 + temsum3 + temsum4 + temsum7 * temsum8 + temsum9
	 + temsum10 | temsum15 + temsum12
	 | temsum16 + temsum14 + temsum15 + temsum16 + 1238956L)
	 % 26L + 97L);
	 secout[11] = (jbyte) (jint) (Math.abs(
	 temsum1 + temsum2 + temsum3 * temsum6 + temsum7 + temsum8 + temsum9
	 + temsum10 + temsum1 * temsum1 + temsum13 % temsum14
	 + temsum15 % temsum16 + 778833L) % 26L + 97L);
	 secout[12] = 0;
	 jstring out = new jstring(secout);
	 for (jint i = 0; i < 12; i++) {
	 secbuf1[i] = out.charAt(i);
	 secbuf2[i] = pas.charAt(i);
	 if (secbuf1[i] != secbuf2[i])
	 return ret;
	 }
	 return 85;
	 */}
